package com.order.manager.Model.other;

import com.order.manager.Model.OrderInfo;
import com.order.manager.Model.OrderMenuInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 订单创建请求模型
 * 用于接收前端创建订单时提交的复合数据
 * 包含订单基本信息和订单商品明细列表
 * 从OrderInfo实体类获得数据信息，
 * 从OrderMenuInfo实体类列表，进行封装
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OrderCreationRequest {
    /**
     * 订单基本信息
     * 包含订单号、客户信息、配送地址、支付方式等基础订单数据
     * 对应OrderInfo实体类
     */
    private OrderInfo orderInfo;

    /**
     * 订单商品明细列表
     * 包含一个或多个商品项，每个项包含商品ID、名称、数量、价格等信息
     * 对应OrderMenuInfo实体类列表
     */
    private List<OrderMenuInfo> menuInfos;
}